//第一题题目：将一个正整数分解质因数。例如：输入90,打印出90=2*3*3*5。
//        (1)如果这个质数恰等于n，则说明分解质因数的过程已经结束，打印出即可。
//        (2)如果n<>k，但n能被k整除，则应打印出k的值，并用n除以k的商,作为新的正整数n,重复执行第一步。
//        (3)如果n不能被k整除，则用k+1作为k的值,重复执行第一步。

//import java.util.Scanner;
//public class Test {
//    public static void main(String[] args){
//        Scanner scanner = new Scanner(System.in);
//        System.out.println("请输入数字：");
//        int n = scanner.nextInt();
//        int k = 2;
//        System.out.print(n+"=");
//        while(k<=n){
//            if(k==n){
//                System.out.println(k);
//                break;
//            } else if (n%k==0) {
//                System.out.print(k+"*");
//                n = n/k;
//            }
//            else{
//                k++;
//            }
//        }
//    }
//}



//第二题
//1、在父类家用电器中（Appliance）定义开启（Open）和关闭（Close）的功能，将其定义为抽象方法。
//2、接口（Sockets）中定义通电（tongDian）。
//3、子类电视（TV）、空调（Conditioner）继承父类的方法，并对父类的方法进行重写。
//4、定义测试类，创建两个子类的对象，并调用重写的方法。
//
//abstract class Appliance{
//    public abstract void Open();
//    public abstract void Close();
//}
//
//interface Sockets {
//    public void tongDian();
//}
//
//class TV extends Appliance implements Sockets{
//    public void Open(){
//        System.out.println("电视机打开了");
//    }
//    public void Close(){
//        System.out.println("电视机关闭了");
//    }
//    public void tongDian(){
//        System.out.println("电视机通电了");
//    }
//    public void lookTv(){
//        System.out.println("看电视");
//    }
//}
//
//class Conditioner extends Appliance implements Sockets{
//    public void Open(){
//        System.out.println("空调打开了");
//    }
//    public void Close(){
//        System.out.println("空调关闭了");
//    }
//    public void tongDian(){
//        System.out.println("空调通电了");
//    }
//    public void cool() {
//        System.out.println("空调制冷模式");
//    }
//}
//
//public class Test {
//    public static void main(String[] args){
//        TV tv = new TV();
//        tv.tongDian();
//        tv.Open();
//        tv.lookTv();
//        tv.Close();
//
//        Conditioner kt = new Conditioner();
//        kt.tongDian();
//        kt.Open();
//        kt.cool();
//        kt.Close();
//    }
//}

public class Person {
    private String name ;
    private String address;

    public Person(String name, String address) {
        this.name = name;
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}



public abstract class Employee extends Person{
    private String ID ;
    private double wages ;
    private int age ;

    public Employee(String name, String address, String ID, double wages, int age) {
        super(name, address);
        this.ID = ID;
        this.wages = wages;
        this.age = age;
    }
    public abstract void add(String position);

    public double getWages() {
        return wages;
    }

    public void setWages(double wages) {
        this.wages = wages;
    }

    public String getID() {
        return ID;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}


public class Manager extends Employee{
    private String level;

    public Manager(String name, String address, String ID, double wages, int age, String level) {
        super(name, address, ID, wages, age);
        this.level = level;
    }

    public void add() {
        double d = super.getWages();
        super.setWages(d*1.1);
    }
    @Override
    public void add(String position){
        double d = super.getWages();
        super.setWages(d*1.2);
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }
}


public class Demo {
    public static void main(String[] args) {
        Manager yuanGong = new Manager("小王","公司","100",5000,5 ,"员工");
        Manager jingLi = new Manager("小张","公司","001",10000,10,"经理");

        yuanGong.add();
        jingLi.add(jingLi.getLevel());

        zhang(yuanGong);
        System.out.println("------------");
        zhang(jingLi);
    }
    public static void zhang(Manager z){
        System.out.println(z.getName() + "在公司担任的职位是" +z.getLevel() +",工号为:" +z.getID());
        System.out.println("工龄" + z.getAge() + "年,在公司辛勤工作,公司决定鼓励,涨薪为:" + z.getWages());
    }
}